package com.ourteam.system.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2018-07-31 15:13:25
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class SysUserDAOQueryBean extends BaseQueryBean {
    public SysUserDAOQueryBean() {
        super();
    }

    public SysUserDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public SysUserDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.Id, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.Id, "id");
        }
    }

    public void addRemarksSelectProperty() {
        addRemarksSelectProperty("remarks");
    }

    public void addRemarksSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.Remarks, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.Remarks, "remarks");
        }
    }

    public void addStatusSelectProperty() {
        addStatusSelectProperty("status");
    }

    public void addStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.Status, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.Status, "status");
        }
    }

    public void addUserAccountSelectProperty() {
        addUserAccountSelectProperty("userAccount");
    }

    public void addUserAccountSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserAccount, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserAccount, "userAccount");
        }
    }

    public void addUserNameSelectProperty() {
        addUserNameSelectProperty("userName");
    }

    public void addUserNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserName, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserName, "userName");
        }
    }

    public void addUserTypeSelectProperty() {
        addUserTypeSelectProperty("userType");
    }

    public void addUserTypeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserType, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserType, "userType");
        }
    }

    public void addPasswordSelectProperty() {
        addPasswordSelectProperty("password");
    }

    public void addPasswordSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.Password, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.Password, "password");
        }
    }

    public void addLastLoginTimeSelectProperty() {
        addLastLoginTimeSelectProperty("lastLoginTime");
    }

    public void addLastLoginTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.LastLoginTime, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.LastLoginTime, "lastLoginTime");
        }
    }

    public void addUserMailSelectProperty() {
        addUserMailSelectProperty("userMail");
    }

    public void addUserMailSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserMail, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserMail, "userMail");
        }
    }

    public void addUserCodeSelectProperty() {
        addUserCodeSelectProperty("userCode");
    }

    public void addUserCodeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserCode, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserCode, "userCode");
        }
    }

    public void addUserPhotoSelectProperty() {
        addUserPhotoSelectProperty("userPhoto");
    }

    public void addUserPhotoSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserPhoto, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserPhoto, "userPhoto");
        }
    }

    public void addUserMobilePhoneSelectProperty() {
        addUserMobilePhoneSelectProperty("userMobilePhone");
    }

    public void addUserMobilePhoneSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserMobilePhone, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserMobilePhone, "userMobilePhone");
        }
    }

    public void addUserOfficePhoneSelectProperty() {
        addUserOfficePhoneSelectProperty("userOfficePhone");
    }

    public void addUserOfficePhoneSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserOfficePhone, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserOfficePhone, "userOfficePhone");
        }
    }

    public void addUserDepartmentSelectProperty() {
        addUserDepartmentSelectProperty("userDepartment");
    }

    public void addUserDepartmentSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserDepartment, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserDepartment, "userDepartment");
        }
    }

    public void addUserRoleSelectProperty() {
        addUserRoleSelectProperty("userRole");
    }

    public void addUserRoleSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserRole, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserRole, "userRole");
        }
    }

    public void addUserDepartmentRoleSelectProperty() {
        addUserDepartmentRoleSelectProperty("userDepartmentRole");
    }

    public void addUserDepartmentRoleSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserDepartmentRole, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserDepartmentRole,
                "userDepartmentRole");
        }
    }

    public void addModifyTimeSelectProperty() {
        addModifyTimeSelectProperty("modifyTime");
    }

    public void addModifyTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.ModifyTime, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.ModifyTime, "modifyTime");
        }
    }

    public void addOperatorIdSelectProperty() {
        addOperatorIdSelectProperty("operatorId");
    }

    public void addOperatorIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.OperatorId, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.OperatorId, "operatorId");
        }
    }

    public void addUserStatusSelectProperty() {
        addUserStatusSelectProperty("userStatus");
    }

    public void addUserStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.UserStatus, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.UserStatus, "userStatus");
        }
    }

    public void addCreateTimeSelectProperty() {
        addCreateTimeSelectProperty("createTime");
    }

    public void addCreateTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.CreateTime, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.CreateTime, "createTime");
        }
    }

    public void addSeatCodeSelectProperty() {
        addSeatCodeSelectProperty("seatCode");
    }

    public void addSeatCodeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.SeatCode, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.SeatCode, "seatCode");
        }
    }

    public void addSeatPasswordSelectProperty() {
        addSeatPasswordSelectProperty("seatPassword");
    }

    public void addSeatPasswordSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.SeatPassword, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.SeatPassword, "seatPassword");
        }
    }

    public void addWechatOpenIdSelectProperty() {
        addWechatOpenIdSelectProperty("wechatOpenId");
    }

    public void addWechatOpenIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.WechatOpenId, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.WechatOpenId, "wechatOpenId");
        }
    }

    public void addOperatorNameSelectProperty() {
        addOperatorNameSelectProperty("operatorName");
    }

    public void addOperatorNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(ISysUserDAO.OperatorName, aAlias);
        } else {
            addSelectProperty(ISysUserDAO.OperatorName, "operatorName");
        }
    }

    public void addAllSelectProperties() {
        addIdSelectProperty();

        addRemarksSelectProperty();

        addStatusSelectProperty();

        addUserAccountSelectProperty();

        addUserNameSelectProperty();

        addUserTypeSelectProperty();

        addPasswordSelectProperty();

        addLastLoginTimeSelectProperty();

        addUserMailSelectProperty();

        addUserCodeSelectProperty();

        addUserPhotoSelectProperty();

        addUserMobilePhoneSelectProperty();

        addUserOfficePhoneSelectProperty();

        addUserDepartmentSelectProperty();

        addUserRoleSelectProperty();

        addUserDepartmentRoleSelectProperty();

        addModifyTimeSelectProperty();

        addOperatorIdSelectProperty();

        addUserStatusSelectProperty();

        addCreateTimeSelectProperty();

        addSeatCodeSelectProperty();

        addSeatPasswordSelectProperty();

        addWechatOpenIdSelectProperty();

        addOperatorNameSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<SysUserDAOQueryBean> {
        protected Criteria(SysUserDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andIdIsNull() {
            addCriterion(ISysUserDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(ISysUserDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(ISysUserDAO.Id + " is not null AND " + ISysUserDAO.Id +
                " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + ISysUserDAO.Id + " is null OR " +
                ISysUserDAO.Id + " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " = ", value, "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " is null OR " + ISysUserDAO.Id +
                " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " >=", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.Id + " <=", value, "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysUserDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysUserDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Id + " in", Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Id + " not in", Arrays.asList(values),
                    "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Id + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(ISysUserDAO.Id + " between", value1, value2, "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysUserDAO.Id + " between", value1, value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(ISysUserDAO.Id + " not between", value1, value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysUserDAO.Id + " not between", value1, value2, "id");

            return this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion(ISysUserDAO.Remarks + " is null");

            return this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion(ISysUserDAO.Remarks + " is not null");

            return this;
        }

        public Criteria andRemarksIsNotEmpty() {
            addCriterion(ISysUserDAO.Remarks + " is not null AND " +
                ISysUserDAO.Remarks + " <> ''");

            return this;
        }

        public Criteria andRemarksIsEmpty() {
            addCriterion("(" + ISysUserDAO.Remarks + " is null OR " +
                ISysUserDAO.Remarks + " = '')");

            return this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion(ISysUserDAO.Remarks + " = ", value, "remarks");

            return this;
        }

        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion(ISysUserDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.Remarks + " is null OR " +
                ISysUserDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion(ISysUserDAO.Remarks + " >", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Remarks + " >=", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion(ISysUserDAO.Remarks + " <", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Remarks + " <=", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Remarks);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Remarks + " like", buffer.toString(),
                "remarks");

            return this;
        }

        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Remarks + " not like", buffer.toString(),
                "remarks");

            return this;
        }

        public Criteria andRemarksIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Remarks + " in", values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Remarks + " not in", values, "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(String[] values) {
            if (values.length == 1) {
                return andRemarksEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Remarks + " in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(String[] values) {
            if (values.length == 1) {
                return andRemarksNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Remarks + " not in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Remarks + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Remarks + " between", value1, value2,
                "remarks");

            return this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Remarks + " not between", value1, value2,
                "remarks");

            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion(ISysUserDAO.Status + " is null");

            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion(ISysUserDAO.Status + " is not null");

            return this;
        }

        public Criteria andStatusIsNotEmpty() {
            addCriterion(ISysUserDAO.Status + " is not null AND " +
                ISysUserDAO.Status + " <> ''");

            return this;
        }

        public Criteria andStatusIsEmpty() {
            addCriterion("(" + ISysUserDAO.Status + " is null OR " +
                ISysUserDAO.Status + " = '')");

            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion(ISysUserDAO.Status + " = ", value, "status");

            return this;
        }

        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion(ISysUserDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.Status + " is null OR " +
                ISysUserDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion(ISysUserDAO.Status + " >", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Status + " >=", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion(ISysUserDAO.Status + " <", value, "status");

            return this;
        }

        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Status + " <=", value, "status");

            return this;
        }

        public Criteria andStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Status);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Status + " like", buffer.toString(),
                "status");

            return this;
        }

        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Status + " not like", buffer.toString(),
                "status");

            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Status + " in", values, "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Status + " not in", values, "status");

                return this;
            }
        }

        public Criteria andStatusIn(String[] values) {
            if (values.length == 1) {
                return andStatusEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Status + " in", Arrays.asList(values),
                    "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andStatusNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Status + " not in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Status + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Status + " between", value1, value2,
                "status");

            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Status + " not between", value1, value2,
                "status");

            return this;
        }

        public Criteria andUserAccountIsNull() {
            addCriterion(ISysUserDAO.UserAccount + " is null");

            return this;
        }

        public Criteria andUserAccountIsNotNull() {
            addCriterion(ISysUserDAO.UserAccount + " is not null");

            return this;
        }

        public Criteria andUserAccountIsNotEmpty() {
            addCriterion(ISysUserDAO.UserAccount + " is not null AND " +
                ISysUserDAO.UserAccount + " <> ''");

            return this;
        }

        public Criteria andUserAccountIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserAccount + " is null OR " +
                ISysUserDAO.UserAccount + " = '')");

            return this;
        }

        public Criteria andUserAccountEqualTo(String value) {
            addCriterion(ISysUserDAO.UserAccount + " = ", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserAccount + " <>", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserAccount + " is null OR " +
                ISysUserDAO.UserAccount + " <>", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserAccount + " >", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserAccount + " >=", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountLessThan(String value) {
            addCriterion(ISysUserDAO.UserAccount + " <", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserAccount + " <=", value, "userAccount");

            return this;
        }

        public Criteria andUserAccountLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserAccount);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserAccountLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserAccount + " like", buffer.toString(),
                "userAccount");

            return this;
        }

        public Criteria andUserAccountNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserAccount + " not like",
                buffer.toString(), "userAccount");

            return this;
        }

        public Criteria andUserAccountIn(List<String> values) {
            if (values.size() == 1) {
                return andUserAccountEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserAccount + " in", values,
                    "userAccount");

                return this;
            }
        }

        public Criteria andUserAccountNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserAccountNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserAccount + " not in", values,
                    "userAccount");

                return this;
            }
        }

        public Criteria andUserAccountIn(String[] values) {
            if (values.length == 1) {
                return andUserAccountEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserAccount + " in",
                    Arrays.asList(values), "userAccount");

                return this;
            }
        }

        public Criteria andUserAccountNotIn(String[] values) {
            if (values.length == 1) {
                return andUserAccountNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserAccount + " not in",
                    Arrays.asList(values), "userAccount");

                return this;
            }
        }

        public Criteria andUserAccountIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserAccount + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserAccountBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserAccount + " between", value1, value2,
                "userAccount");

            return this;
        }

        public Criteria andUserAccountNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserAccount + " not between", value1,
                value2, "userAccount");

            return this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion(ISysUserDAO.UserName + " is null");

            return this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion(ISysUserDAO.UserName + " is not null");

            return this;
        }

        public Criteria andUserNameIsNotEmpty() {
            addCriterion(ISysUserDAO.UserName + " is not null AND " +
                ISysUserDAO.UserName + " <> ''");

            return this;
        }

        public Criteria andUserNameIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserName + " is null OR " +
                ISysUserDAO.UserName + " = '')");

            return this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion(ISysUserDAO.UserName + " = ", value, "userName");

            return this;
        }

        public Criteria andUserNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserName + " <>", value, "userName");

            return this;
        }

        public Criteria andUserNameNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserName + " is null OR " +
                ISysUserDAO.UserName + " <>", value, "userName");

            return this;
        }

        public Criteria andUserNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserName + " >", value, "userName");

            return this;
        }

        public Criteria andUserNameGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserName + " >=", value, "userName");

            return this;
        }

        public Criteria andUserNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion(ISysUserDAO.UserName + " <", value, "userName");

            return this;
        }

        public Criteria andUserNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserName + " <=", value, "userName");

            return this;
        }

        public Criteria andUserNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserName + " like", buffer.toString(),
                "userName");

            return this;
        }

        public Criteria andUserNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserName + " not like", buffer.toString(),
                "userName");

            return this;
        }

        public Criteria andUserNameIn(List<String> values) {
            if (values.size() == 1) {
                return andUserNameEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserName + " in", values, "userName");

                return this;
            }
        }

        public Criteria andUserNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserNameNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserName + " not in", values,
                    "userName");

                return this;
            }
        }

        public Criteria andUserNameIn(String[] values) {
            if (values.length == 1) {
                return andUserNameEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserName + " in",
                    Arrays.asList(values), "userName");

                return this;
            }
        }

        public Criteria andUserNameNotIn(String[] values) {
            if (values.length == 1) {
                return andUserNameNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserName + " not in",
                    Arrays.asList(values), "userName");

                return this;
            }
        }

        public Criteria andUserNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserName + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserName + " between", value1, value2,
                "userName");

            return this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserName + " not between", value1, value2,
                "userName");

            return this;
        }

        public Criteria andUserTypeIsNull() {
            addCriterion(ISysUserDAO.UserType + " is null");

            return this;
        }

        public Criteria andUserTypeIsNotNull() {
            addCriterion(ISysUserDAO.UserType + " is not null");

            return this;
        }

        public Criteria andUserTypeIsNotEmpty() {
            addCriterion(ISysUserDAO.UserType + " is not null AND " +
                ISysUserDAO.UserType + " <> ''");

            return this;
        }

        public Criteria andUserTypeIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserType + " is null OR " +
                ISysUserDAO.UserType + " = '')");

            return this;
        }

        public Criteria andUserTypeEqualTo(String value) {
            addCriterion(ISysUserDAO.UserType + " = ", value, "userType");

            return this;
        }

        public Criteria andUserTypeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserType + " <>", value, "userType");

            return this;
        }

        public Criteria andUserTypeNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserType + " is null OR " +
                ISysUserDAO.UserType + " <>", value, "userType");

            return this;
        }

        public Criteria andUserTypeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserType + " >", value, "userType");

            return this;
        }

        public Criteria andUserTypeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserType + " >=", value, "userType");

            return this;
        }

        public Criteria andUserTypeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeLessThan(String value) {
            addCriterion(ISysUserDAO.UserType + " <", value, "userType");

            return this;
        }

        public Criteria andUserTypeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserType + " <=", value, "userType");

            return this;
        }

        public Criteria andUserTypeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserType);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserType + " like", buffer.toString(),
                "userType");

            return this;
        }

        public Criteria andUserTypeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserType + " not like", buffer.toString(),
                "userType");

            return this;
        }

        public Criteria andUserTypeIn(List<String> values) {
            if (values.size() == 1) {
                return andUserTypeEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserType + " in", values, "userType");

                return this;
            }
        }

        public Criteria andUserTypeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserTypeNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserType + " not in", values,
                    "userType");

                return this;
            }
        }

        public Criteria andUserTypeIn(String[] values) {
            if (values.length == 1) {
                return andUserTypeEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserType + " in",
                    Arrays.asList(values), "userType");

                return this;
            }
        }

        public Criteria andUserTypeNotIn(String[] values) {
            if (values.length == 1) {
                return andUserTypeNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserType + " not in",
                    Arrays.asList(values), "userType");

                return this;
            }
        }

        public Criteria andUserTypeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserType + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserTypeBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserType + " between", value1, value2,
                "userType");

            return this;
        }

        public Criteria andUserTypeNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserType + " not between", value1, value2,
                "userType");

            return this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion(ISysUserDAO.Password + " is null");

            return this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion(ISysUserDAO.Password + " is not null");

            return this;
        }

        public Criteria andPasswordIsNotEmpty() {
            addCriterion(ISysUserDAO.Password + " is not null AND " +
                ISysUserDAO.Password + " <> ''");

            return this;
        }

        public Criteria andPasswordIsEmpty() {
            addCriterion("(" + ISysUserDAO.Password + " is null OR " +
                ISysUserDAO.Password + " = '')");

            return this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion(ISysUserDAO.Password + " = ", value, "password");

            return this;
        }

        public Criteria andPasswordEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion(ISysUserDAO.Password + " <>", value, "password");

            return this;
        }

        public Criteria andPasswordNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.Password + " is null OR " +
                ISysUserDAO.Password + " <>", value, "password");

            return this;
        }

        public Criteria andPasswordNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion(ISysUserDAO.Password + " >", value, "password");

            return this;
        }

        public Criteria andPasswordGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Password + " >=", value, "password");

            return this;
        }

        public Criteria andPasswordGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion(ISysUserDAO.Password + " <", value, "password");

            return this;
        }

        public Criteria andPasswordLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.Password + " <=", value, "password");

            return this;
        }

        public Criteria andPasswordLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.Password);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andPasswordLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Password + " like", buffer.toString(),
                "password");

            return this;
        }

        public Criteria andPasswordNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.Password + " not like", buffer.toString(),
                "password");

            return this;
        }

        public Criteria andPasswordIn(List<String> values) {
            if (values.size() == 1) {
                return andPasswordEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Password + " in", values, "password");

                return this;
            }
        }

        public Criteria andPasswordNotIn(List<String> values) {
            if (values.size() == 1) {
                return andPasswordNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.Password + " not in", values,
                    "password");

                return this;
            }
        }

        public Criteria andPasswordIn(String[] values) {
            if (values.length == 1) {
                return andPasswordEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Password + " in",
                    Arrays.asList(values), "password");

                return this;
            }
        }

        public Criteria andPasswordNotIn(String[] values) {
            if (values.length == 1) {
                return andPasswordNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.Password + " not in",
                    Arrays.asList(values), "password");

                return this;
            }
        }

        public Criteria andPasswordIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.Password + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Password + " between", value1, value2,
                "password");

            return this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.Password + " not between", value1, value2,
                "password");

            return this;
        }

        public Criteria andLastLoginTimeIsNull() {
            addCriterion(ISysUserDAO.LastLoginTime + " is null");

            return this;
        }

        public Criteria andLastLoginTimeIsNotNull() {
            addCriterion(ISysUserDAO.LastLoginTime + " is not null");

            return this;
        }

        public Criteria andLastLoginTimeIsNotEmpty() {
            addCriterion(ISysUserDAO.LastLoginTime + " is not null AND " +
                ISysUserDAO.LastLoginTime + " <> ''");

            return this;
        }

        public Criteria andLastLoginTimeIsEmpty() {
            addCriterion("(" + ISysUserDAO.LastLoginTime + " is null OR " +
                ISysUserDAO.LastLoginTime + " = '')");

            return this;
        }

        public Criteria andLastLoginTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " = ", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " <>", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " is null OR " +
                ISysUserDAO.LastLoginTime + " <>", value, "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " >", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeGreaterThanOrEqualTo(
            java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " >=", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " <", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " <=", value,
                "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.LastLoginTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andLastLoginTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andLastLoginTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " in",
                    values, "lastLoginTime");

                return this;
            }
        }

        public Criteria andLastLoginTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andLastLoginTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " not in",
                    values, "lastLoginTime");

                return this;
            }
        }

        public Criteria andLastLoginTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andLastLoginTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " in",
                    Arrays.asList(values), "lastLoginTime");

                return this;
            }
        }

        public Criteria andLastLoginTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andLastLoginTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " not in",
                    Arrays.asList(values), "lastLoginTime");

                return this;
            }
        }

        public Criteria andLastLoginTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andLastLoginTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.LastLoginTime + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andLastLoginTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " between",
                value1, value2, "lastLoginTime");

            return this;
        }

        public Criteria andLastLoginTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.LastLoginTime + " not between",
                value1, value2, "lastLoginTime");

            return this;
        }

        public Criteria andUserMailIsNull() {
            addCriterion(ISysUserDAO.UserMail + " is null");

            return this;
        }

        public Criteria andUserMailIsNotNull() {
            addCriterion(ISysUserDAO.UserMail + " is not null");

            return this;
        }

        public Criteria andUserMailIsNotEmpty() {
            addCriterion(ISysUserDAO.UserMail + " is not null AND " +
                ISysUserDAO.UserMail + " <> ''");

            return this;
        }

        public Criteria andUserMailIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserMail + " is null OR " +
                ISysUserDAO.UserMail + " = '')");

            return this;
        }

        public Criteria andUserMailEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMail + " = ", value, "userMail");

            return this;
        }

        public Criteria andUserMailEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMail + " <>", value, "userMail");

            return this;
        }

        public Criteria andUserMailNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserMail + " is null OR " +
                ISysUserDAO.UserMail + " <>", value, "userMail");

            return this;
        }

        public Criteria andUserMailNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserMail + " >", value, "userMail");

            return this;
        }

        public Criteria andUserMailGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMail + " >=", value, "userMail");

            return this;
        }

        public Criteria andUserMailGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailLessThan(String value) {
            addCriterion(ISysUserDAO.UserMail + " <", value, "userMail");

            return this;
        }

        public Criteria andUserMailLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMail + " <=", value, "userMail");

            return this;
        }

        public Criteria andUserMailLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMail);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMailLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserMail + " like", buffer.toString(),
                "userMail");

            return this;
        }

        public Criteria andUserMailNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserMail + " not like", buffer.toString(),
                "userMail");

            return this;
        }

        public Criteria andUserMailIn(List<String> values) {
            if (values.size() == 1) {
                return andUserMailEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserMail + " in", values, "userMail");

                return this;
            }
        }

        public Criteria andUserMailNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserMailNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserMail + " not in", values,
                    "userMail");

                return this;
            }
        }

        public Criteria andUserMailIn(String[] values) {
            if (values.length == 1) {
                return andUserMailEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserMail + " in",
                    Arrays.asList(values), "userMail");

                return this;
            }
        }

        public Criteria andUserMailNotIn(String[] values) {
            if (values.length == 1) {
                return andUserMailNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserMail + " not in",
                    Arrays.asList(values), "userMail");

                return this;
            }
        }

        public Criteria andUserMailIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMail + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMailBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserMail + " between", value1, value2,
                "userMail");

            return this;
        }

        public Criteria andUserMailNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserMail + " not between", value1, value2,
                "userMail");

            return this;
        }

        public Criteria andUserCodeIsNull() {
            addCriterion(ISysUserDAO.UserCode + " is null");

            return this;
        }

        public Criteria andUserCodeIsNotNull() {
            addCriterion(ISysUserDAO.UserCode + " is not null");

            return this;
        }

        public Criteria andUserCodeIsNotEmpty() {
            addCriterion(ISysUserDAO.UserCode + " is not null AND " +
                ISysUserDAO.UserCode + " <> ''");

            return this;
        }

        public Criteria andUserCodeIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserCode + " is null OR " +
                ISysUserDAO.UserCode + " = '')");

            return this;
        }

        public Criteria andUserCodeEqualTo(String value) {
            addCriterion(ISysUserDAO.UserCode + " = ", value, "userCode");

            return this;
        }

        public Criteria andUserCodeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserCode + " <>", value, "userCode");

            return this;
        }

        public Criteria andUserCodeNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserCode + " is null OR " +
                ISysUserDAO.UserCode + " <>", value, "userCode");

            return this;
        }

        public Criteria andUserCodeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserCode + " >", value, "userCode");

            return this;
        }

        public Criteria andUserCodeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserCode + " >=", value, "userCode");

            return this;
        }

        public Criteria andUserCodeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeLessThan(String value) {
            addCriterion(ISysUserDAO.UserCode + " <", value, "userCode");

            return this;
        }

        public Criteria andUserCodeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserCode + " <=", value, "userCode");

            return this;
        }

        public Criteria andUserCodeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserCode);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserCodeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserCode + " like", buffer.toString(),
                "userCode");

            return this;
        }

        public Criteria andUserCodeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserCode + " not like", buffer.toString(),
                "userCode");

            return this;
        }

        public Criteria andUserCodeIn(List<String> values) {
            if (values.size() == 1) {
                return andUserCodeEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserCode + " in", values, "userCode");

                return this;
            }
        }

        public Criteria andUserCodeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserCodeNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserCode + " not in", values,
                    "userCode");

                return this;
            }
        }

        public Criteria andUserCodeIn(String[] values) {
            if (values.length == 1) {
                return andUserCodeEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserCode + " in",
                    Arrays.asList(values), "userCode");

                return this;
            }
        }

        public Criteria andUserCodeNotIn(String[] values) {
            if (values.length == 1) {
                return andUserCodeNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserCode + " not in",
                    Arrays.asList(values), "userCode");

                return this;
            }
        }

        public Criteria andUserCodeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserCode + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserCodeBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserCode + " between", value1, value2,
                "userCode");

            return this;
        }

        public Criteria andUserCodeNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserCode + " not between", value1, value2,
                "userCode");

            return this;
        }

        public Criteria andUserPhotoIsNull() {
            addCriterion(ISysUserDAO.UserPhoto + " is null");

            return this;
        }

        public Criteria andUserPhotoIsNotNull() {
            addCriterion(ISysUserDAO.UserPhoto + " is not null");

            return this;
        }

        public Criteria andUserPhotoIsNotEmpty() {
            addCriterion(ISysUserDAO.UserPhoto + " is not null AND " +
                ISysUserDAO.UserPhoto + " <> ''");

            return this;
        }

        public Criteria andUserPhotoIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserPhoto + " is null OR " +
                ISysUserDAO.UserPhoto + " = '')");

            return this;
        }

        public Criteria andUserPhotoEqualTo(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " = ", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " <>", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " is null OR " +
                ISysUserDAO.UserPhoto + " <>", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " >", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " >=", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoLessThan(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " <", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserPhoto + " <=", value, "userPhoto");

            return this;
        }

        public Criteria andUserPhotoLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserPhoto);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserPhotoLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserPhoto + " like", buffer.toString(),
                "userPhoto");

            return this;
        }

        public Criteria andUserPhotoNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserPhoto + " not like",
                buffer.toString(), "userPhoto");

            return this;
        }

        public Criteria andUserPhotoIn(List<String> values) {
            if (values.size() == 1) {
                return andUserPhotoEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserPhoto + " in", values, "userPhoto");

                return this;
            }
        }

        public Criteria andUserPhotoNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserPhotoNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserPhoto + " not in", values,
                    "userPhoto");

                return this;
            }
        }

        public Criteria andUserPhotoIn(String[] values) {
            if (values.length == 1) {
                return andUserPhotoEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserPhoto + " in",
                    Arrays.asList(values), "userPhoto");

                return this;
            }
        }

        public Criteria andUserPhotoNotIn(String[] values) {
            if (values.length == 1) {
                return andUserPhotoNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserPhoto + " not in",
                    Arrays.asList(values), "userPhoto");

                return this;
            }
        }

        public Criteria andUserPhotoIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserPhoto + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserPhotoBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserPhoto + " between", value1, value2,
                "userPhoto");

            return this;
        }

        public Criteria andUserPhotoNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserPhoto + " not between", value1,
                value2, "userPhoto");

            return this;
        }

        public Criteria andUserMobilePhoneIsNull() {
            addCriterion(ISysUserDAO.UserMobilePhone + " is null");

            return this;
        }

        public Criteria andUserMobilePhoneIsNotNull() {
            addCriterion(ISysUserDAO.UserMobilePhone + " is not null");

            return this;
        }

        public Criteria andUserMobilePhoneIsNotEmpty() {
            addCriterion(ISysUserDAO.UserMobilePhone + " is not null AND " +
                ISysUserDAO.UserMobilePhone + " <> ''");

            return this;
        }

        public Criteria andUserMobilePhoneIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserMobilePhone + " is null OR " +
                ISysUserDAO.UserMobilePhone + " = '')");

            return this;
        }

        public Criteria andUserMobilePhoneEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " = ", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " <>", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " is null OR " +
                ISysUserDAO.UserMobilePhone + " <>", value, "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " >", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " >=", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneLessThan(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " <", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserMobilePhone + " <=", value,
                "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserMobilePhone);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserMobilePhoneLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserMobilePhone + " like",
                buffer.toString(), "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserMobilePhone + " not like",
                buffer.toString(), "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneIn(List<String> values) {
            if (values.size() == 1) {
                return andUserMobilePhoneEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserMobilePhone + " in", values,
                    "userMobilePhone");

                return this;
            }
        }

        public Criteria andUserMobilePhoneNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserMobilePhoneNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserMobilePhone + " not in", values,
                    "userMobilePhone");

                return this;
            }
        }

        public Criteria andUserMobilePhoneIn(String[] values) {
            if (values.length == 1) {
                return andUserMobilePhoneEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserMobilePhone + " in",
                    Arrays.asList(values), "userMobilePhone");

                return this;
            }
        }

        public Criteria andUserMobilePhoneNotIn(String[] values) {
            if (values.length == 1) {
                return andUserMobilePhoneNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserMobilePhone + " not in",
                    Arrays.asList(values), "userMobilePhone");

                return this;
            }
        }

        public Criteria andUserMobilePhoneIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserMobilePhone + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andUserMobilePhoneBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserMobilePhone + " between", value1,
                value2, "userMobilePhone");

            return this;
        }

        public Criteria andUserMobilePhoneNotBetween(String value1,
            String value2) {
            addCriterion(ISysUserDAO.UserMobilePhone + " not between", value1,
                value2, "userMobilePhone");

            return this;
        }

        public Criteria andUserOfficePhoneIsNull() {
            addCriterion(ISysUserDAO.UserOfficePhone + " is null");

            return this;
        }

        public Criteria andUserOfficePhoneIsNotNull() {
            addCriterion(ISysUserDAO.UserOfficePhone + " is not null");

            return this;
        }

        public Criteria andUserOfficePhoneIsNotEmpty() {
            addCriterion(ISysUserDAO.UserOfficePhone + " is not null AND " +
                ISysUserDAO.UserOfficePhone + " <> ''");

            return this;
        }

        public Criteria andUserOfficePhoneIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserOfficePhone + " is null OR " +
                ISysUserDAO.UserOfficePhone + " = '')");

            return this;
        }

        public Criteria andUserOfficePhoneEqualTo(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " = ", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " <>", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " is null OR " +
                ISysUserDAO.UserOfficePhone + " <>", value, "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " >", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " >=", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneLessThan(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " <", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserOfficePhone + " <=", value,
                "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserOfficePhone);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserOfficePhoneLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserOfficePhone + " like",
                buffer.toString(), "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserOfficePhone + " not like",
                buffer.toString(), "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneIn(List<String> values) {
            if (values.size() == 1) {
                return andUserOfficePhoneEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserOfficePhone + " in", values,
                    "userOfficePhone");

                return this;
            }
        }

        public Criteria andUserOfficePhoneNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserOfficePhoneNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserOfficePhone + " not in", values,
                    "userOfficePhone");

                return this;
            }
        }

        public Criteria andUserOfficePhoneIn(String[] values) {
            if (values.length == 1) {
                return andUserOfficePhoneEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserOfficePhone + " in",
                    Arrays.asList(values), "userOfficePhone");

                return this;
            }
        }

        public Criteria andUserOfficePhoneNotIn(String[] values) {
            if (values.length == 1) {
                return andUserOfficePhoneNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserOfficePhone + " not in",
                    Arrays.asList(values), "userOfficePhone");

                return this;
            }
        }

        public Criteria andUserOfficePhoneIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserOfficePhone + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andUserOfficePhoneBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserOfficePhone + " between", value1,
                value2, "userOfficePhone");

            return this;
        }

        public Criteria andUserOfficePhoneNotBetween(String value1,
            String value2) {
            addCriterion(ISysUserDAO.UserOfficePhone + " not between", value1,
                value2, "userOfficePhone");

            return this;
        }

        public Criteria andUserDepartmentIsNull() {
            addCriterion(ISysUserDAO.UserDepartment + " is null");

            return this;
        }

        public Criteria andUserDepartmentIsNotNull() {
            addCriterion(ISysUserDAO.UserDepartment + " is not null");

            return this;
        }

        public Criteria andUserDepartmentIsNotEmpty() {
            addCriterion(ISysUserDAO.UserDepartment + " is not null AND " +
                ISysUserDAO.UserDepartment + " <> ''");

            return this;
        }

        public Criteria andUserDepartmentIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserDepartment + " is null OR " +
                ISysUserDAO.UserDepartment + " = '')");

            return this;
        }

        public Criteria andUserDepartmentEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " = ", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " <>", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " is null OR " +
                ISysUserDAO.UserDepartment + " <>", value, "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " >", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " >=", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentLessThan(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " <", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartment + " <=", value,
                "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartment);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserDepartment + " like",
                buffer.toString(), "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserDepartment + " not like",
                buffer.toString(), "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentIn(List<String> values) {
            if (values.size() == 1) {
                return andUserDepartmentEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserDepartment + " in", values,
                    "userDepartment");

                return this;
            }
        }

        public Criteria andUserDepartmentNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserDepartmentNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserDepartment + " not in", values,
                    "userDepartment");

                return this;
            }
        }

        public Criteria andUserDepartmentIn(String[] values) {
            if (values.length == 1) {
                return andUserDepartmentEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserDepartment + " in",
                    Arrays.asList(values), "userDepartment");

                return this;
            }
        }

        public Criteria andUserDepartmentNotIn(String[] values) {
            if (values.length == 1) {
                return andUserDepartmentNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserDepartment + " not in",
                    Arrays.asList(values), "userDepartment");

                return this;
            }
        }

        public Criteria andUserDepartmentIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartment + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserDepartment + " between", value1,
                value2, "userDepartment");

            return this;
        }

        public Criteria andUserDepartmentNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserDepartment + " not between", value1,
                value2, "userDepartment");

            return this;
        }

        public Criteria andUserRoleIsNull() {
            addCriterion(ISysUserDAO.UserRole + " is null");

            return this;
        }

        public Criteria andUserRoleIsNotNull() {
            addCriterion(ISysUserDAO.UserRole + " is not null");

            return this;
        }

        public Criteria andUserRoleIsNotEmpty() {
            addCriterion(ISysUserDAO.UserRole + " is not null AND " +
                ISysUserDAO.UserRole + " <> ''");

            return this;
        }

        public Criteria andUserRoleIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserRole + " is null OR " +
                ISysUserDAO.UserRole + " = '')");

            return this;
        }

        public Criteria andUserRoleEqualTo(String value) {
            addCriterion(ISysUserDAO.UserRole + " = ", value, "userRole");

            return this;
        }

        public Criteria andUserRoleEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserRole + " <>", value, "userRole");

            return this;
        }

        public Criteria andUserRoleNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserRole + " is null OR " +
                ISysUserDAO.UserRole + " <>", value, "userRole");

            return this;
        }

        public Criteria andUserRoleNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserRole + " >", value, "userRole");

            return this;
        }

        public Criteria andUserRoleGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserRole + " >=", value, "userRole");

            return this;
        }

        public Criteria andUserRoleGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleLessThan(String value) {
            addCriterion(ISysUserDAO.UserRole + " <", value, "userRole");

            return this;
        }

        public Criteria andUserRoleLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserRole + " <=", value, "userRole");

            return this;
        }

        public Criteria andUserRoleLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserRole);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserRoleLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserRole + " like", buffer.toString(),
                "userRole");

            return this;
        }

        public Criteria andUserRoleNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserRole + " not like", buffer.toString(),
                "userRole");

            return this;
        }

        public Criteria andUserRoleIn(List<String> values) {
            if (values.size() == 1) {
                return andUserRoleEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserRole + " in", values, "userRole");

                return this;
            }
        }

        public Criteria andUserRoleNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserRoleNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserRole + " not in", values,
                    "userRole");

                return this;
            }
        }

        public Criteria andUserRoleIn(String[] values) {
            if (values.length == 1) {
                return andUserRoleEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserRole + " in",
                    Arrays.asList(values), "userRole");

                return this;
            }
        }

        public Criteria andUserRoleNotIn(String[] values) {
            if (values.length == 1) {
                return andUserRoleNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserRole + " not in",
                    Arrays.asList(values), "userRole");

                return this;
            }
        }

        public Criteria andUserRoleIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserRole + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserRoleBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserRole + " between", value1, value2,
                "userRole");

            return this;
        }

        public Criteria andUserRoleNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserRole + " not between", value1, value2,
                "userRole");

            return this;
        }

        public Criteria andUserDepartmentRoleIsNull() {
            addCriterion(ISysUserDAO.UserDepartmentRole + " is null");

            return this;
        }

        public Criteria andUserDepartmentRoleIsNotNull() {
            addCriterion(ISysUserDAO.UserDepartmentRole + " is not null");

            return this;
        }

        public Criteria andUserDepartmentRoleIsNotEmpty() {
            addCriterion(ISysUserDAO.UserDepartmentRole + " is not null AND " +
                ISysUserDAO.UserDepartmentRole + " <> ''");

            return this;
        }

        public Criteria andUserDepartmentRoleIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserDepartmentRole + " is null OR " +
                ISysUserDAO.UserDepartmentRole + " = '')");

            return this;
        }

        public Criteria andUserDepartmentRoleEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " = ", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " <>", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " is null OR " +
                ISysUserDAO.UserDepartmentRole + " <>", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleNotEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " >", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " >=", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleLessThan(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " <", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleLessThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleLessThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " <=", value,
                "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserDepartmentRole);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserDepartmentRoleLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserDepartmentRole + " like",
                buffer.toString(), "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserDepartmentRole + " not like",
                buffer.toString(), "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleIn(List<String> values) {
            if (values.size() == 1) {
                return andUserDepartmentRoleEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserDepartmentRole + " in", values,
                    "userDepartmentRole");

                return this;
            }
        }

        public Criteria andUserDepartmentRoleNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserDepartmentRoleNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserDepartmentRole + " not in",
                    values, "userDepartmentRole");

                return this;
            }
        }

        public Criteria andUserDepartmentRoleIn(String[] values) {
            if (values.length == 1) {
                return andUserDepartmentRoleEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserDepartmentRole + " in",
                    Arrays.asList(values), "userDepartmentRole");

                return this;
            }
        }

        public Criteria andUserDepartmentRoleNotIn(String[] values) {
            if (values.length == 1) {
                return andUserDepartmentRoleNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserDepartmentRole + " not in",
                    Arrays.asList(values), "userDepartmentRole");

                return this;
            }
        }

        public Criteria andUserDepartmentRoleIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andUserDepartmentRoleNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andUserDepartmentRoleBetween(String value1,
            String value2) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " between", value1,
                value2, "userDepartmentRole");

            return this;
        }

        public Criteria andUserDepartmentRoleNotBetween(String value1,
            String value2) {
            addCriterion(ISysUserDAO.UserDepartmentRole + " not between",
                value1, value2, "userDepartmentRole");

            return this;
        }

        public Criteria andModifyTimeIsNull() {
            addCriterion(ISysUserDAO.ModifyTime + " is null");

            return this;
        }

        public Criteria andModifyTimeIsNotNull() {
            addCriterion(ISysUserDAO.ModifyTime + " is not null");

            return this;
        }

        public Criteria andModifyTimeIsNotEmpty() {
            addCriterion(ISysUserDAO.ModifyTime + " is not null AND " +
                ISysUserDAO.ModifyTime + " <> ''");

            return this;
        }

        public Criteria andModifyTimeIsEmpty() {
            addCriterion("(" + ISysUserDAO.ModifyTime + " is null OR " +
                ISysUserDAO.ModifyTime + " = '')");

            return this;
        }

        public Criteria andModifyTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " = ", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " <>", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " is null OR " +
                ISysUserDAO.ModifyTime + " <>", value, "modifyTime");

            return this;
        }

        public Criteria andModifyTimeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " >", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " >=", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " <", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " <=", value,
                "modifyTime");

            return this;
        }

        public Criteria andModifyTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.ModifyTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andModifyTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " in", values,
                    "modifyTime");

                return this;
            }
        }

        public Criteria andModifyTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andModifyTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " not in",
                    values, "modifyTime");

                return this;
            }
        }

        public Criteria andModifyTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andModifyTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " in",
                    Arrays.asList(values), "modifyTime");

                return this;
            }
        }

        public Criteria andModifyTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andModifyTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " not in",
                    Arrays.asList(values), "modifyTime");

                return this;
            }
        }

        public Criteria andModifyTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.ModifyTime + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andModifyTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " between",
                value1, value2, "modifyTime");

            return this;
        }

        public Criteria andModifyTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.ModifyTime + " not between",
                value1, value2, "modifyTime");

            return this;
        }

        public Criteria andOperatorIdIsNull() {
            addCriterion(ISysUserDAO.OperatorId + " is null");

            return this;
        }

        public Criteria andOperatorIdIsNotNull() {
            addCriterion(ISysUserDAO.OperatorId + " is not null");

            return this;
        }

        public Criteria andOperatorIdIsNotEmpty() {
            addCriterion(ISysUserDAO.OperatorId + " is not null AND " +
                ISysUserDAO.OperatorId + " <> ''");

            return this;
        }

        public Criteria andOperatorIdIsEmpty() {
            addCriterion("(" + ISysUserDAO.OperatorId + " is null OR " +
                ISysUserDAO.OperatorId + " = '')");

            return this;
        }

        public Criteria andOperatorIdEqualTo(long value) {
            return andOperatorIdEqualTo(Long.valueOf(value));
        }

        public Criteria andOperatorIdEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " = ", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdNotEqualTo(long value) {
            return andOperatorIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andOperatorIdNotEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " <>", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdNotEqualToOrIsNull(long value) {
            return andOperatorIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andOperatorIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " is null OR " +
                ISysUserDAO.OperatorId + " <>", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdGreaterThan(long value) {
            return andOperatorIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andOperatorIdGreaterThan(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " >", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(long value) {
            return andOperatorIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " >=", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdLessThan(long value) {
            return andOperatorIdLessThan(Long.valueOf(value));
        }

        public Criteria andOperatorIdLessThan(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " <", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdLessThanOrEqualTo(long value) {
            return andOperatorIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andOperatorIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(ISysUserDAO.OperatorId + " <=", value, "operatorId");

            return this;
        }

        public Criteria andOperatorIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdIn(long[] values) {
            if (values.length == 1) {
                return andOperatorIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorId + " in", values,
                    "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdNotIn(long[] values) {
            if (values.length == 1) {
                return andOperatorIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorId + " not in", values,
                    "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andOperatorIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.OperatorId + " in", values,
                    "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andOperatorIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.OperatorId + " not in", values,
                    "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andOperatorIdEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorId + " in",
                    Arrays.asList(values), "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andOperatorIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorId + " not in",
                    Arrays.asList(values), "operatorId");

                return this;
            }
        }

        public Criteria andOperatorIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorId + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorIdBetween(long value1, long value2) {
            addCriterion(ISysUserDAO.OperatorId + " between", value1, value2,
                "operatorId");

            return this;
        }

        public Criteria andOperatorIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysUserDAO.OperatorId + " between", value1, value2,
                "operatorId");

            return this;
        }

        public Criteria andOperatorIdNotBetween(long value1, long value2) {
            addCriterion(ISysUserDAO.OperatorId + " not between", value1,
                value2, "operatorId");

            return this;
        }

        public Criteria andOperatorIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(ISysUserDAO.OperatorId + " not between", value1,
                value2, "operatorId");

            return this;
        }

        public Criteria andUserStatusIsNull() {
            addCriterion(ISysUserDAO.UserStatus + " is null");

            return this;
        }

        public Criteria andUserStatusIsNotNull() {
            addCriterion(ISysUserDAO.UserStatus + " is not null");

            return this;
        }

        public Criteria andUserStatusIsNotEmpty() {
            addCriterion(ISysUserDAO.UserStatus + " is not null AND " +
                ISysUserDAO.UserStatus + " <> ''");

            return this;
        }

        public Criteria andUserStatusIsEmpty() {
            addCriterion("(" + ISysUserDAO.UserStatus + " is null OR " +
                ISysUserDAO.UserStatus + " = '')");

            return this;
        }

        public Criteria andUserStatusEqualTo(String value) {
            addCriterion(ISysUserDAO.UserStatus + " = ", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusNotEqualTo(String value) {
            addCriterion(ISysUserDAO.UserStatus + " <>", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.UserStatus + " is null OR " +
                ISysUserDAO.UserStatus + " <>", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusGreaterThan(String value) {
            addCriterion(ISysUserDAO.UserStatus + " >", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserStatus + " >=", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusLessThan(String value) {
            addCriterion(ISysUserDAO.UserStatus + " <", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.UserStatus + " <=", value, "userStatus");

            return this;
        }

        public Criteria andUserStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.UserStatus);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andUserStatusLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserStatus + " like", buffer.toString(),
                "userStatus");

            return this;
        }

        public Criteria andUserStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.UserStatus + " not like",
                buffer.toString(), "userStatus");

            return this;
        }

        public Criteria andUserStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andUserStatusEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserStatus + " in", values,
                    "userStatus");

                return this;
            }
        }

        public Criteria andUserStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andUserStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.UserStatus + " not in", values,
                    "userStatus");

                return this;
            }
        }

        public Criteria andUserStatusIn(String[] values) {
            if (values.length == 1) {
                return andUserStatusEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserStatus + " in",
                    Arrays.asList(values), "userStatus");

                return this;
            }
        }

        public Criteria andUserStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andUserStatusNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.UserStatus + " not in",
                    Arrays.asList(values), "userStatus");

                return this;
            }
        }

        public Criteria andUserStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.UserStatus + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andUserStatusBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserStatus + " between", value1, value2,
                "userStatus");

            return this;
        }

        public Criteria andUserStatusNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.UserStatus + " not between", value1,
                value2, "userStatus");

            return this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion(ISysUserDAO.CreateTime + " is null");

            return this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion(ISysUserDAO.CreateTime + " is not null");

            return this;
        }

        public Criteria andCreateTimeIsNotEmpty() {
            addCriterion(ISysUserDAO.CreateTime + " is not null AND " +
                ISysUserDAO.CreateTime + " <> ''");

            return this;
        }

        public Criteria andCreateTimeIsEmpty() {
            addCriterion("(" + ISysUserDAO.CreateTime + " is null OR " +
                ISysUserDAO.CreateTime + " = '')");

            return this;
        }

        public Criteria andCreateTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " = ", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " <>", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " is null OR " +
                ISysUserDAO.CreateTime + " <>", value, "createTime");

            return this;
        }

        public Criteria andCreateTimeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " >", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " >=", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " <", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " <=", value,
                "createTime");

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.CreateTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andCreateTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.CreateTime + " in", values,
                    "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andCreateTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(ISysUserDAO.CreateTime + " not in",
                    values, "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andCreateTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.CreateTime + " in",
                    Arrays.asList(values), "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andCreateTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(ISysUserDAO.CreateTime + " not in",
                    Arrays.asList(values), "createTime");

                return this;
            }
        }

        public Criteria andCreateTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.CreateTime + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andCreateTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " between",
                value1, value2, "createTime");

            return this;
        }

        public Criteria andCreateTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(ISysUserDAO.CreateTime + " not between",
                value1, value2, "createTime");

            return this;
        }

        public Criteria andSeatCodeIsNull() {
            addCriterion(ISysUserDAO.SeatCode + " is null");

            return this;
        }

        public Criteria andSeatCodeIsNotNull() {
            addCriterion(ISysUserDAO.SeatCode + " is not null");

            return this;
        }

        public Criteria andSeatCodeIsNotEmpty() {
            addCriterion(ISysUserDAO.SeatCode + " is not null AND " +
                ISysUserDAO.SeatCode + " <> ''");

            return this;
        }

        public Criteria andSeatCodeIsEmpty() {
            addCriterion("(" + ISysUserDAO.SeatCode + " is null OR " +
                ISysUserDAO.SeatCode + " = '')");

            return this;
        }

        public Criteria andSeatCodeEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatCode + " = ", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeNotEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatCode + " <>", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.SeatCode + " is null OR " +
                ISysUserDAO.SeatCode + " <>", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeGreaterThan(String value) {
            addCriterion(ISysUserDAO.SeatCode + " >", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatCode + " >=", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeLessThan(String value) {
            addCriterion(ISysUserDAO.SeatCode + " <", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatCode + " <=", value, "seatCode");

            return this;
        }

        public Criteria andSeatCodeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatCode);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatCodeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.SeatCode + " like", buffer.toString(),
                "seatCode");

            return this;
        }

        public Criteria andSeatCodeNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.SeatCode + " not like", buffer.toString(),
                "seatCode");

            return this;
        }

        public Criteria andSeatCodeIn(List<String> values) {
            if (values.size() == 1) {
                return andSeatCodeEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.SeatCode + " in", values, "seatCode");

                return this;
            }
        }

        public Criteria andSeatCodeNotIn(List<String> values) {
            if (values.size() == 1) {
                return andSeatCodeNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.SeatCode + " not in", values,
                    "seatCode");

                return this;
            }
        }

        public Criteria andSeatCodeIn(String[] values) {
            if (values.length == 1) {
                return andSeatCodeEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.SeatCode + " in",
                    Arrays.asList(values), "seatCode");

                return this;
            }
        }

        public Criteria andSeatCodeNotIn(String[] values) {
            if (values.length == 1) {
                return andSeatCodeNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.SeatCode + " not in",
                    Arrays.asList(values), "seatCode");

                return this;
            }
        }

        public Criteria andSeatCodeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatCode + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatCodeBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.SeatCode + " between", value1, value2,
                "seatCode");

            return this;
        }

        public Criteria andSeatCodeNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.SeatCode + " not between", value1, value2,
                "seatCode");

            return this;
        }

        public Criteria andSeatPasswordIsNull() {
            addCriterion(ISysUserDAO.SeatPassword + " is null");

            return this;
        }

        public Criteria andSeatPasswordIsNotNull() {
            addCriterion(ISysUserDAO.SeatPassword + " is not null");

            return this;
        }

        public Criteria andSeatPasswordIsNotEmpty() {
            addCriterion(ISysUserDAO.SeatPassword + " is not null AND " +
                ISysUserDAO.SeatPassword + " <> ''");

            return this;
        }

        public Criteria andSeatPasswordIsEmpty() {
            addCriterion("(" + ISysUserDAO.SeatPassword + " is null OR " +
                ISysUserDAO.SeatPassword + " = '')");

            return this;
        }

        public Criteria andSeatPasswordEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " = ", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordNotEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " <>", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " is null OR " +
                ISysUserDAO.SeatPassword + " <>", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordGreaterThan(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " >", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " >=", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordLessThan(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " <", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.SeatPassword + " <=", value, "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.SeatPassword);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSeatPasswordLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.SeatPassword + " like", buffer.toString(),
                "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.SeatPassword + " not like",
                buffer.toString(), "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordIn(List<String> values) {
            if (values.size() == 1) {
                return andSeatPasswordEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.SeatPassword + " in", values,
                    "seatPassword");

                return this;
            }
        }

        public Criteria andSeatPasswordNotIn(List<String> values) {
            if (values.size() == 1) {
                return andSeatPasswordNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.SeatPassword + " not in", values,
                    "seatPassword");

                return this;
            }
        }

        public Criteria andSeatPasswordIn(String[] values) {
            if (values.length == 1) {
                return andSeatPasswordEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.SeatPassword + " in",
                    Arrays.asList(values), "seatPassword");

                return this;
            }
        }

        public Criteria andSeatPasswordNotIn(String[] values) {
            if (values.length == 1) {
                return andSeatPasswordNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.SeatPassword + " not in",
                    Arrays.asList(values), "seatPassword");

                return this;
            }
        }

        public Criteria andSeatPasswordIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andSeatPasswordNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.SeatPassword + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSeatPasswordBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.SeatPassword + " between", value1, value2,
                "seatPassword");

            return this;
        }

        public Criteria andSeatPasswordNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.SeatPassword + " not between", value1,
                value2, "seatPassword");

            return this;
        }

        public Criteria andWechatOpenIdIsNull() {
            addCriterion(ISysUserDAO.WechatOpenId + " is null");

            return this;
        }

        public Criteria andWechatOpenIdIsNotNull() {
            addCriterion(ISysUserDAO.WechatOpenId + " is not null");

            return this;
        }

        public Criteria andWechatOpenIdIsNotEmpty() {
            addCriterion(ISysUserDAO.WechatOpenId + " is not null AND " +
                ISysUserDAO.WechatOpenId + " <> ''");

            return this;
        }

        public Criteria andWechatOpenIdIsEmpty() {
            addCriterion("(" + ISysUserDAO.WechatOpenId + " is null OR " +
                ISysUserDAO.WechatOpenId + " = '')");

            return this;
        }

        public Criteria andWechatOpenIdEqualTo(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " = ", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdNotEqualTo(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " <>", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " is null OR " +
                ISysUserDAO.WechatOpenId + " <>", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdGreaterThan(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " >", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " >=", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdLessThan(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " <", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.WechatOpenId + " <=", value, "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.WechatOpenId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andWechatOpenIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.WechatOpenId + " like", buffer.toString(),
                "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.WechatOpenId + " not like",
                buffer.toString(), "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdIn(List<String> values) {
            if (values.size() == 1) {
                return andWechatOpenIdEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.WechatOpenId + " in", values,
                    "wechatOpenId");

                return this;
            }
        }

        public Criteria andWechatOpenIdNotIn(List<String> values) {
            if (values.size() == 1) {
                return andWechatOpenIdNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.WechatOpenId + " not in", values,
                    "wechatOpenId");

                return this;
            }
        }

        public Criteria andWechatOpenIdIn(String[] values) {
            if (values.length == 1) {
                return andWechatOpenIdEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.WechatOpenId + " in",
                    Arrays.asList(values), "wechatOpenId");

                return this;
            }
        }

        public Criteria andWechatOpenIdNotIn(String[] values) {
            if (values.length == 1) {
                return andWechatOpenIdNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.WechatOpenId + " not in",
                    Arrays.asList(values), "wechatOpenId");

                return this;
            }
        }

        public Criteria andWechatOpenIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andWechatOpenIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.WechatOpenId + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andWechatOpenIdBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.WechatOpenId + " between", value1, value2,
                "wechatOpenId");

            return this;
        }

        public Criteria andWechatOpenIdNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.WechatOpenId + " not between", value1,
                value2, "wechatOpenId");

            return this;
        }

        public Criteria andOperatorNameIsNull() {
            addCriterion(ISysUserDAO.OperatorName + " is null");

            return this;
        }

        public Criteria andOperatorNameIsNotNull() {
            addCriterion(ISysUserDAO.OperatorName + " is not null");

            return this;
        }

        public Criteria andOperatorNameIsNotEmpty() {
            addCriterion(ISysUserDAO.OperatorName + " is not null AND " +
                ISysUserDAO.OperatorName + " <> ''");

            return this;
        }

        public Criteria andOperatorNameIsEmpty() {
            addCriterion("(" + ISysUserDAO.OperatorName + " is null OR " +
                ISysUserDAO.OperatorName + " = '')");

            return this;
        }

        public Criteria andOperatorNameEqualTo(String value) {
            addCriterion(ISysUserDAO.OperatorName + " = ", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameNotEqualTo(String value) {
            addCriterion(ISysUserDAO.OperatorName + " <>", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameNotEqualToOrIsNull(String value) {
            addCriterion(ISysUserDAO.OperatorName + " is null OR " +
                ISysUserDAO.OperatorName + " <>", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameGreaterThan(String value) {
            addCriterion(ISysUserDAO.OperatorName + " >", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameGreaterThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.OperatorName + " >=", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameLessThan(String value) {
            addCriterion(ISysUserDAO.OperatorName + " <", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameLessThanOrEqualTo(String value) {
            addCriterion(ISysUserDAO.OperatorName + " <=", value, "operatorName");

            return this;
        }

        public Criteria andOperatorNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(ISysUserDAO.OperatorName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andOperatorNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.OperatorName + " like", buffer.toString(),
                "operatorName");

            return this;
        }

        public Criteria andOperatorNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(ISysUserDAO.OperatorName + " not like",
                buffer.toString(), "operatorName");

            return this;
        }

        public Criteria andOperatorNameIn(List<String> values) {
            if (values.size() == 1) {
                return andOperatorNameEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.OperatorName + " in", values,
                    "operatorName");

                return this;
            }
        }

        public Criteria andOperatorNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andOperatorNameNotEqualTo(values.get(0));
            } else {
                addCriterion(ISysUserDAO.OperatorName + " not in", values,
                    "operatorName");

                return this;
            }
        }

        public Criteria andOperatorNameIn(String[] values) {
            if (values.length == 1) {
                return andOperatorNameEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorName + " in",
                    Arrays.asList(values), "operatorName");

                return this;
            }
        }

        public Criteria andOperatorNameNotIn(String[] values) {
            if (values.length == 1) {
                return andOperatorNameNotEqualTo(values[0]);
            } else {
                addCriterion(ISysUserDAO.OperatorName + " not in",
                    Arrays.asList(values), "operatorName");

                return this;
            }
        }

        public Criteria andOperatorNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andOperatorNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(ISysUserDAO.OperatorName + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andOperatorNameBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.OperatorName + " between", value1, value2,
                "operatorName");

            return this;
        }

        public Criteria andOperatorNameNotBetween(String value1, String value2) {
            addCriterion(ISysUserDAO.OperatorName + " not between", value1,
                value2, "operatorName");

            return this;
        }
    }
}
